﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace com.ytocargo.Core.FlightInfoSubs
{
    public class FlightInfoSub
    {
        [StringLength(6)]
        public string AcId { get; set; }

        [Required]
        [StringLength(10)]
        public string AcType { get; set; }

        [StringLength(10)]
        public string AcTypeMarket { get; set; }

        [StringLength(10)]
        public string AcTypeAssign { get; set; }

        [Required]
        [StringLength(20)]
        public string AcSeatsLayout { get; set; }

        [StringLength(200)]
        public string AcReason { get; set; }

        [StringLength(200)]
        public string ModifyReason { get; set; }

        [StringLength(10)]
        public string DepAptStop { get; set; }

        [StringLength(10)]
        public string ArrAptStop { get; set; }

        [StringLength(3)]
        public string CrewOwner { get; set; }

        [StringLength(3)]
        public string CabinOwner { get; set; }

        [StringLength(3)]
        public string AirpoliceOwner { get; set; }

        [StringLength(3)]
        public string AcOwner { get; set; }

        [StringLength(3)]
        public string AltApt1 { get; set; }

        //15备降场2
        [StringLength(3)]
        public string AltApt2 { get; set; }

        //降落机场登机口
        [StringLength(10)]
        public string ArrBoardGate { get; set; }

        //起飞机场登机口
        [StringLength(10)]
        public string DepBoardGate { get; set; }

        //打印状态
        [StringLength(1)]
        public string PrintFlag { get; set; }

        //打印时间
        public DateTime? PrintTime { get; set; }

        //20货舱等级
        [StringLength(2)]
        public string AcCargoGrade { get; set; }

        //要客标志
        [StringLength(1)]
        public string ImportanceFlag { get; set; }

        //要客名称
        [StringLength(50)]
        public string ImportanceName { get; set; }

        //延误代码
        [StringLength(5)]
        public string DelayCode { get; set; }

        //延误时间
        public DateTime? DelayTime { get; set; }

        //25放行情况
        [StringLength(2)]
        public string ReleaseFlag { get; set; }

        //放行时间
        public DateTime? ReleaseTime { get; set; }

        //航行区域
        [StringLength(1)]
        public string FltRegion { get; set; }

        //机组、乘务、飞机、空警归属数据来源 
        [StringLength(15)]
        public string OwnerSrc { get; set; }

        //延伸服务状态
        public int? ExtendServiceStatus { get; set; }

        //30放行区域
        [StringLength(2)]
        public string ReleaseRegionCode { get; set; }

        //放行延误标识
        [StringLength(1)]
        public string ReleaseDelayFlag { get; set; }

        //航班放行不正常原因
        [StringLength(5)]
        public string ReleaseDelayCode { get; set; }

        //重点航班标志
        [StringLength(1)]
        public string FltCipFlag { get; set; }

        //放行席位
        [StringLength(2)]
        public string ReleaseSeat { get; set; }

        //35备注
        [StringLength(200)]
        public string Memo { get; set; }

        //ETOPS航班
        [StringLength(1)]
        public string FltEtopsFlag { get; set; }

        //航班放行不正常原因说明
        [StringLength(200)]
        public string ReleaseDelayMemo { get; set; }

        //预备降状态
        [StringLength(3)]
        public string FltCplFlag { get; set; }

        //OMIS手工关门时间
        public DateTime? CloseDoorOmis { get; set; }

        //40取消时间
        public DateTime? CancelTime { get; set; }

        //取消原因
        [StringLength(8)]
        public string CancelReason { get; set; }

        //预计无油重量
        public Decimal? NoOilLoadPre { get; set; }

    }
}
